package com.fa4j.system.account.model;

import com.fa4j.common.base.model.AbstractCmd;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.ToString;

@Data
@Schema(description = "账号密码重置参数")
public class AccountPwdResetCmd extends AbstractCmd {

    @NotNull
    @Schema(description = "账号 ID")
    private Long accountId;

    @NotNull
    @Schema(description = "密码类型")
    private AccountPasswordType type;

    @NotNull
    @Schema(description = "密码重置类型")
    private AccountPwdResetType resetType;

    @Schema(description = "账号密码")
    @ToString.Exclude
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private String password;
}
